package com.cyt.sys.service;

import com.cyt.base.model.dto.ReturnResult;

import com.cyt.sys.model.po.SysVersion;
import com.cyt.sys.model.po.SysVersionEn;
import com.cyt.sys.model.vo.SysVersionVo;

/**
 * Created by cykj2018713 on 2019/4/3.
 */
public interface SysVersionService extends BaseService<SysVersion> {

    /**
     * save or update
     *
     * @author sunli
     * @date 2019-04-08
     * @param baseVsersionVo
     * @return ReturnResult
     */
    ReturnResult saveOrUpdate(SysVersionVo baseVsersionVo);

    /**
     * 根据id删除版本
     *
     * @author sunli
     * @date 2019-04-09
     * @param id  版本信息id
     */
    ReturnResult delete(String id);

    /**
     * 分页查询
     *
     * @author sunli
     * @date 2019-04-09
     * @param baseVsersionVo
     * @param pageSize
     * @param pageNum
     * @return ReturnResult
     */
    ReturnResult page(SysVersionVo baseVsersionVo, int pageSize, int pageNum);

    /**
     * 根据版本的id查询版本信息
     *
     * @author sunli
     * @date 2019-04-10
     * @param id 版本的id
     */
    public SysVersion selectVersionById(String id);

    /**
     * 根据版本的状态查询版本的集合
     *
     * @author sunli
     * @date 2019-04-11
     * @param status 版本的状态
     * @return ReturnResult
     */
    ReturnResult getVersionList(String status);

    /**
     *  根据版本id查询数据
     *
     *  @author sunli
     *  @date 2019-04-17
     * @return ReturnResult
     */
    ReturnResult sendVersion(String url, String id);

    /**
     * 对下发的数据进行保存
     *
     * @author sunli
     * @date 2019-04-18
     * @param baseVersion
     * @return ReturnResult
     */
    ReturnResult receiveVersionData(SysVersionEn baseVersion);


    /**
     * 根据当前lisence加密版本表
     *
     *@author dingxu
     *@date 2019-04-09 14:25
     *@param lisenceId 主键
     *@return ReturnResult
     */
    ReturnResult encordBaseVersion(String lisenceId);

    /**
     * 根据当前lisence加密版本表
     *
     *@author dingxu
     *@date 2019-04-09 14:25
     *@param lisenceId 主键
     *@return ReturnResult
     */
    ReturnResult decordBaseVersion(String lisenceId) throws Exception;


}
